import * as http from './utils/http'

export default {
  refreshToken () {
    return http.post(
      'corp/token/refresh', {
        'refresh_token': window.localStorage.getItem('refreshToken')
      }
    )
  },

  /**
   * 企业成员登录认证
   * 注册成为企业用户后，通过企业帐号认证登录获得RESTful调用凭证，通过调用凭证可调用企业信息管理接口
   * @param  {Object} params 登录信息
      {
        'account': '手机号/邮箱地址',
        'password': '登陆密码'
      }
   * @return {Promise}
      {
        'corp_id': '企业ID',
        'member_id': '成员ID',
        'access_token': '调用凭证',
        'refresh_token': '刷新凭证',
        'expire_in': '有效期（秒）'
      }
   */
  auth (params) {
    return http.post(
      'corp_auth', params, {
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        }
      }
    )
  },

  /**
   * 发起企业邮箱密码重置
   * @param  {Object} params 重置参数
   */
  fetchPasswordByMail (params) {
    return http.post(
      'corp/password/forgot/email', params, {
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        }
      }
    )
  },

  /**
   * 成员重置密码
   * 成员重置自己的密码，成员只能重置自己的密码，管理员不能修改其他任何成员的密码。
   * @param  {Object} params  { "oldpassword":"旧密码",  "newpassword":"新密码"}
   * @return  stauts
   */
  memberResetPwd (params) {
    return http.put(
      'corp/member/password/reset', params
    )
  },

  /**
   * 获取单个成员信息
   * 获取一个成员的基本信息。。
   * @param  {Object} params  {member_id}
   * @return {Promise}   {  "id":"成员ID", "name":"姓名", "role":"角色类型", "status":"成员状态" }
   */
  getMember (id) {
    return http.get(
      `corp/member/${id}`
    )
  }
}
